package com.zhongwang.mms.module.material.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Calendar;
import java.util.Date;
import java.util.List;

/**
 * @Description: 串料标记执行记录表
 * @Author: wsg
 * @Date: 2020/05/16
 */
@Data
public class MChangeOrderModel {

    private Integer ceoId;  // 主键

    private String ceoCode; // 单据编号

    private String ceoNeedName; // 需求项目名称

    private String ceoLendName; // 被挪用项目名称

    private String ceoNeedCode; // 需求项目编号

    private String ceoLendCode; // 被挪用项目编号

    private String ceoNeedTrackCode;    // 跟踪号

    private String ceoLendTrackCode;    // 被挪用跟踪号

    private String ceoNeedDesc; // 需求项目生产状况

    private String ceoLendDesc; // 被挪用项目生产状况

    private Integer ceoNeedMatId;   // 需求物料

    private Double ceoNeedQty;  // 需求数量

    private Double ceoNeedWgt;  // 需求重量

    private String ceoNeedDept; // 使用部门

    private Double ceoEndQty;   // 剩余数量

    private Double ceoEndWgt;   // 剩余重量

    private String ceoLendDept; // 所在部门

    private String ceoNeedMatDesc;  // 名称材质规格

    private String ceoLendMatDesc;  // 被挪用名称材质规格

    private String ceoRemark;   // 被挪用名称材质规格

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date ceoBillDate;   // 录单日期

    private String ceoBillUser; // 制单人

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date ceoCheckDate;  // 审批日期

    private String ceoCheckUser;    // 审批人员

    private Double ceoOutQty;   // 出库数量

    private Double ceoOutWgt;   // 出库重量

    private Double ceoReturnQty;    // 归还数量

    private Double ceoReturnWgt;    // 归还重量

    private Integer ceoReturnFlg;   // 是否需要还料 1需要 2不需要

    private String ceoUserName; // 帐号

    private Integer ceoStatus;  // 0删除 1保存 2提交 3执行 4已出库 5归还中 6已归还 7被废除

    private Integer ceoItyId;   // 库存在库外键

    private Integer isReturnConfirm;   // 是否还料

    private Integer ceoPageFlgQuery;    // 访问页面：1=串料申请列表页 2=串料执行列表页

    private List<Integer> ceoCheckStatusListQuery;  // 串料执行页面 状态检索

    private Date startTimeQuery;    // 检索开始日期

    private Date endTimeQuery;  // 检索结束日期

    public void setEndTimeQuery(Date endTimeQuery) {
        if (endTimeQuery != null) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(endTimeQuery);
            cal.add(Calendar.DAY_OF_YEAR, +1);
            this.endTimeQuery = cal.getTime();
        } else {
            this.endTimeQuery = endTimeQuery;
        }
    }

    /**
     * 串料状态们
     */
    private String ceoStatusStr;
}
